// 系统全局字典

import { EnumDictName } from '@/api/system/dict'

/**
 * @description：用户性别
 */
export const genderType = [
  { label: '男', value: 1 },
  { label: '女', value: 2 },
]

/**
 * @description：用户状态
 */
export const userStatus = [
  { label: '启用', value: 1, tagType: 'success' },
  { label: '禁用', value: 0, tagType: 'danger' },
]

// 转换函数：过滤数字枚举的反向映射
export function enumToKeyValue<T extends Record<string, number | string>>(enumObj: T): Record<string, T[keyof T]> {
  const result: Record<string, T[keyof T]> = {}
  for (const key in enumObj) {
    // 数字枚举的反向映射 key 是数字字符串，过滤掉
    if (!isNaN(Number(key))) {
      continue
    }
    result[key] = enumObj[key]
  }
  return result
}

export const EnumDictName2KeyValueArray = () =>
  Object.entries(EnumDictName).map(([key, value]) => ({
    key,
    value,
  }))
